//package com.nlp.visualization.core.seg.filter;
//
//import com.nlp.visualization.utils.PropertyUtil;
//import org.apache.commons.io.FileUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.io.File;
//import java.io.IOException;
//import java.util.HashSet;
//import java.util.List;
//
///**
// * 词汇过滤器
// */
//public class TermFilter {
//
//    static Logger logger = LoggerFactory.getLogger(TermFilter.class);
//    static List<String> lines;
//    static HashSet<String> keysSet;
//
//    static {
//        initDic();
//    }
//
//    private static void initDic() {
//
//        logger.info("执行读取停用词表");
//        try {
//            //读入停用词表
//            String stopwordsPath = PropertyUtil.getInstance("library").getProperty("stopWordPath");
//            File file = new File(stopwordsPath);
//            lines = FileUtils.readLines(file, "UTF-8");
//            //插入停用词
//            keysSet = new HashSet<>();
//            keysSet.addAll(lines);
//        } catch (IOException e) {
//            logger.error("读取停用词词库的时候文件异常");
//            e.printStackTrace();
//        } catch (Exception e) {
//            logger.error("读取停用词词库未知异常");
//            e.printStackTrace();
//        }
//        logger.info("完成停用词表加载");
//
//    }
//
//    /**
//     * 移除集合中的停用词
//     *
//     * @param list
//     */
//    public static void removeStopWords(List<String> list) {
//        for (int i = 0; i < list.size(); i++) {
//            if (IsIncludeStopwords(list.get(i))) {
//                list.remove(i);
//            } else
//                continue;
//        }
//    }
//
//    /**
//     * 判断停用词是否存在
//     *
//     * @param o
//     * @return
//     */
//    public static boolean IsIncludeStopwords(String o) {
//
//        return keysSet.contains(o);
//
//    }
//
//}
